package com.loong.android.views.utils;

import android.widget.ImageView;

/**
 * 缩放类型表
 */
public class ScaleType {
    //图片缩放模式-原图显示到图片框中
    public final static int SCALE_TYPE_MATRIX = 0;
    //图片缩放模式-图片铺满图片框，图片有可能变形
    public final static int SCALE_TYPE_FIT_XY = 1;
    //图片缩放模式-图片按比例缩放后靠左上角显示，不会出现图片内容超出图片框的情况
    public final static int SCALE_TYPE_FIT_START = 2;
    //图片缩放模式-图片按比例缩放后居中显示，不会出现图片内容超出图片框的情况
    public final static int SCALE_TYPE_FIT_CENTER = 3;
    //图片缩放模式-图片按比例缩放后靠右下角显示，不会出现图片内容超出图片框的情况
    public final static int SCALE_TYPE_FIT_END = 4;
    //图片缩放模式-原图居中显示
    public final static int SCALE_TYPE_CENTER = 5;
    //图片缩放模式-图片按比例缩放后居中显示，图片始终占满图片框，超出图片框的部分被剪切掉(看不见)
    public final static int SCALE_TYPE_CENTER_CROP = 6;
    //图片缩放模式-居中显示与框内
    public final static int SCALE_TYPE_CENTER_INSIDE = 7;

    public static int toIndex(ImageView.ScaleType scaleType) {
        if(scaleType == ImageView.ScaleType.MATRIX) return SCALE_TYPE_MATRIX;
        if(scaleType == ImageView.ScaleType.FIT_XY) return SCALE_TYPE_FIT_XY;
        if(scaleType == ImageView.ScaleType.FIT_START) return SCALE_TYPE_FIT_START;
        if(scaleType == ImageView.ScaleType.FIT_CENTER) return SCALE_TYPE_FIT_CENTER;
        if(scaleType == ImageView.ScaleType.FIT_END) return SCALE_TYPE_FIT_END;
        if(scaleType == ImageView.ScaleType.CENTER) return SCALE_TYPE_CENTER;
        if(scaleType == ImageView.ScaleType.CENTER_CROP) return SCALE_TYPE_CENTER_CROP;
        if(scaleType == ImageView.ScaleType.CENTER_INSIDE) return SCALE_TYPE_CENTER_INSIDE;
        return 0;
    }

    public static ImageView.ScaleType toObj(int typeIndex) {
        if(typeIndex == SCALE_TYPE_MATRIX) return ImageView.ScaleType.MATRIX;
        if(typeIndex == SCALE_TYPE_FIT_XY) return ImageView.ScaleType.FIT_XY;
        if(typeIndex == SCALE_TYPE_FIT_START) return ImageView.ScaleType.FIT_START;
        if(typeIndex == SCALE_TYPE_FIT_CENTER) return ImageView.ScaleType.FIT_CENTER;
        if(typeIndex == SCALE_TYPE_FIT_END) return ImageView.ScaleType.FIT_END;
        if(typeIndex == SCALE_TYPE_CENTER) return ImageView.ScaleType.CENTER;
        if(typeIndex == SCALE_TYPE_CENTER_CROP) return ImageView.ScaleType.CENTER_CROP;
        if(typeIndex == SCALE_TYPE_CENTER_INSIDE) return ImageView.ScaleType.CENTER_INSIDE;
        return null;
    }
}
